
--[[--
        常量配置表
--]]--

MAX_GOLD       = 2000000000  -- 金币-20亿
MAX_AMOUNT     = 2000         -- 仓库-商品数量
MAX_CHARS      = 50          -- 创建-角色数量
MAX_INVETORY   = 100          -- 库存数量

MAX_STORAGE    = 500     -- 仓库物品数量
MAX_PARTY      = 9       -- 队伍 -人数      
MAX_FRIEND     = 40      -- 好友 -数量          

-- 公会配置
MAX_GUILD_STORAGE   = 600         -- 公会 -仓库
MAX_GUILD_POSITION  = 10          -- 公会 -职位
MAX_GUILD           = 16+(10*5)   -- 公会 -成员
MAX_GUILD_SKILL     = 15          -- 公会 -技能
MAX_GUILD_LEVEL     = 50          -- 公会 -等级
MAX_GUILD_MES       = 255         -- 公会 -公告

MAX_QUEST_DB        = 2000            -- 加载最大任务日志

MAX_NAME_LENGH          = 24          -- 名字最大长度
MAX_ITEM_NAME_LENGTH    = 50          -- 物品名称长度

-- 账号编号　和角色编号
MAX_START_ACCOUNT_NUM   = 2000000     --  账号 -最小编号(自动生成)
MAX_END_ACCOUNT_NUM     = 100000000   --  账号 -最大编号
MAX_START_CHAR_NUM      = 150000      --  角色 -编号

-- 邮件系统 
MAX_MAIL_INBOX          = 30      -- 收件箱
MAX_MAIL_TITLE_LENGH    = 40      -- 标题
MAX_MAIL_BODY_LENGTH    = 200     -- 消息内容



local M = {}

--[[
function M:create_char()

    local char = {
        char_id     = 0,    -- 角色ID
        account_id  = 0,    -- 账户ID
        char_num    = 0,    -- 角色下标
        name        = '',   -- 角色名称
        class       = 0,    -- 角色类型
        base_level  = 1,    -- 等级
        base_exp    = 0,    -- 经验
        gold        = 0,    -- 金币
        max_hp      = 0,    -- 最大HP
        hp          = 0,    -- HP
        max_sp      = 0,    -- 最大SP
        sp          = 0,    -- SP
        skill_point = 0,    -- 技能点数
        party_id    = 0,    -- 队伍ID
        guild_id    = 0,    -- 工会ID
        pet_id      = 0,    -- 宠物ID
        online      = 0,    -- 是否在线
    }

    return char
end 
]]--


function M:create_charstatus()

    local charstatus = {

        char_id         = 0,    -- 角色ID
        account_id      = 0,    -- 账户ID
        slot            = 0,    -- 角色槽位
        name            = '',   -- 角色名称
        base_level      = 1,    -- 职业等级
        base_exp        = 0,    -- 基础经验
        gold            = 0,    -- 金币
        class           = 0,    -- 职业类型
     -- status_point    = 0,    -- 技能点
     -- skill_point     = 0,    -- 技能点
     -- party_id        = 0,    -- 队伍ID
     -- guild_id        = 0,    -- 工会ID
        max_hp          = 0,    -- 最大HP
        hp              = 0,    -- HP
        max_sp          = 0,    -- 最大SP
        sp              = 0,    -- SP
     -- storage         = {},   -- 仓库数据
     -- item            = {},   -- 背包物品栏
     -- skill           = {},   -- 技能数据
     -- friends         = {},   -- 好友列表    
    }

    return charstatus
end 


-- 任务日志状态
quest_state = {
    Q_INACTIVE  = 0,    -- 无效
    Q_ACTIVE    = 1,    -- 有效
    Q_COMPLETE  = 2,    -- 完成
}
-- 任务日志
local quest = {
    quest_id        = 0,
    time            = 0,
    count           = 0,
    quest_state     = 0,
}


-- 物品
local item = {
    id          = 0,    -- 物品ID 
    nameid      = 0,    -- 物品编号
    amount      = 0,    -- 堆叠数量
    equip       = 0,    -- 装备类型
    attribute   = '',   -- 属性
    expire_time = 0,    -- 有效时间
}

-- 仓库数据
local storage_data = {
    stroage_amount = 0,     --　仓库物品数量
    items          = {},    --　物品
}

-- 好友
local friend = {
    account_id  = 0,        --  账户ID (自动生成账号是唯一标示)
    char_id     = 0,        --  角色ID (自动生成)
    name        = '',       --  角色名
}

--邮件状态
mail_status = {
    MAIL_NEW    = 1,        --  新邮件
    MAIL_UNREAD = 2,        --  未读
    MAIL_READ   = 3,        --  读取
}

-- 邮件消息
local mail_message = {
    id          = 0,        --　消息ID自动生成
    send_id     = 0,        --　发送给对方的ID
    send_name   = '',       --　发送对方名
    dest_id     = 0,        --  源ID
    dest_name   = '',       --  源名
    title       = '',       --  标题
    body        = '',       --  消息
    mail_status = 0,        --  邮件状态
    timestamp   = 0,        --  标记发送时间
    gold        = 0,        --  金币
    item        = {},       --  物品
}

-- 邮箱数据
local mail_data = {
    amount        =   0,        -- 邮件数据量
    full          =   false,    -- 邮件是否满
    unchecked     =   0,        -- 未标记
    unread        =   0,        -- 未读
    mail_message  =   {},       -- 邮件消息
}

-- 队伍信息
local party = {
    party_id        = 0,        -- 队伍ID (MySQL自动生成)
    name            = '',       -- 队伍名
    count           = 0,        -- 在线人数
    party_member    = {},       -- 成员
}

-- 队伍成员数据
local party_member = {
    account_id      = 0,        -- 账号ID(MySQL自动生成)
    char_id         = 0,        -- 角色ID (自动生成)
    name            = '',       -- 角色名
    class           = 0,        -- 职业类型
    lv              = 0,        -- 角色等级
    leader          = 0,        -- 是否该队伍队长
    online          = 0,        -- 是否在线
}


--公会基本信息
local guild = {
    guild_id        = 0,    --  公会ID(唯一标识)
    name            = '',   --  公会名称
    guild_lv        = 0,    --  公会等级
    master          = '',   --  公会会长
    exp             = 0,    --  公会经验
    next_exp        = 0,    --  下一级经验
    connect_member  = 0,    --  加入人数
    max_member      = 0,    --  最大人数
    fund            = 0,    --  公会资金
    notice          = '',   --  公会公告
    guild_member    = {},   --  公会成员
    guild_skill     = {},   --  公会技能
}

-- 公会成员信息
local guild_member = {
    account_id      = 0,    -- 账户ID(唯一标识)
    char_id         = 0,    -- 角色ID(角色唯一标识)
    name            = '',   -- 角色名称
    gender          = 0,    -- 性别
    class           = 0,    -- 职业
    position        = '',   -- 职位
    lv              = 0,    -- 等级
    online          = 0,    -- 在线/离线    0 离线 1 在线
    exp_payper      = 0,    -- 贡献值   
}

-- 公会技能
local guild_skill = {
    id              = 0,    -- 技能ID
    lv              = 0,    -- 技能等级
}

-- 公会仓库
local guild_storage = {

    guild_id            = 0,   -- 公会ID
    storage_amount      = 0,   -- 物品数量
    item                = {},  -- 物品
}

return M 